Короткая справка по программе

Рабочее название: EasySaver

Назначение программы: сохранять и восстанавливать настройки приложений и системы в соответствии с конфигурационными файлами


Описание программы

Программа представляет собой некую оболочку, которая наполняется конфигурационными файлами (конфигами). Каждый конфиг — это xml-файл определённого формата. Подробно о структуре конфига см. в файле config_template.xml

Все конфиги лежат рядом с исполняемым файлом (в папке Configs). В этой папке можно (и нужно!) создать любое количество вложенных папок первого уровня (т.е. Configs\Folder1, Configs\Folder2, …), в которых, в свою очередь, лежат конфиги (xml-ки). Каждая подпапка в папке Configs группирует сходные по смыслу конфиги. Например, Configs\Programsконфиги с настройками программ, Configs\Systemс настройками системы и т.п.

Программа может работать в 2-х режимах: обычном и портативном. В первом случае настройки программы сохраняются в реестр (HKEY_CURRENT_USER\Software\EasySaver), а бэкапы – в соответствии с настройками (см. ниже). По умолчанию это %AppData%\EasySaver\Backup.

В портативном режиме в реестр ничего не пишется, рядом с исполняемым файлом появляется файлик portable.ini с настройками. Бэкапы сохраняются в папку Backup рядом с исполняемым файлом.


Выглядит программа так:



В области 1 отображается древовидная структура конфигов, прочитанных из папки Configs. Каждая группа — это подпапка Configs, каждый лист дерева — конфиг.

Внимание: в дереве отображаются только те конфиги, которые обслуживают реально установленные в системе программы. Скажем, если у вас лежит конфиг для OpenOffice или GIMP, а этих программ у вас нету (или они не той версии, на которую рассчитан конфиг), то отображаться в дереве они не будут.

Названия программ, для которых не найдено бэкапов, отображаются серыйм цветом (на скриншоте – 7-Zip).

Область 2 – журнал работы программы.

В области 3 отображается информация о конфиге (из тега <header> конфигурационного файла).

Область 4 служит для отображения всего того, что конфиг умеет сохранять/восстанавливать. На данном этапе эта область носит чисто информационный характер, забэкапить выбранные части конфига нельзя (бэкапится всё).

Кнопка 5 бэкапит настройки для всех отмеченных программ.

Кнопка 6 восстанавливает настройки для всех отмеченных программ (при условии, конечно, что эти настройки были ранее забэкаплены).

Кнопка 7 служит для пересканирования папки Configs. Полезно, если во время работы программы вы добавили/удалили конфиги или установили/деинсталлировали программы.

Кнопка 8 вызывает диалог настроек:



На данном этапе функциональны только настройки из группы Режим работы.




План развития

Краткосрочный:

  1. Определиться с интерфейсом программы (что удалить/добавить/переделать)

  2. Сделать логирование

  3. Наполнить лог более детальной информацией

  4. Детектирование того, что программа, для которой восстанавливается бэкап, запущена, и «прибивание» этой программы (для избежания конфликтов при восстановлении)

  5. Сделать диалог с настройками

  6. Пофиксить все баги


Долгосрочный

  1. Инсталлятор

  2. Редактор конфигов

  3. Поддержать ключи командной строки (-backup, -restore и в таком духе)



© Владимир Жданов aka Su4nost_